package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.StudentBean;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 学生Mapper接口
 */
public interface IStudentMapper {

    /**
     * 动态条件查询学生，同时查询学生所在班级名称
     * @param name 姓名
     * @param startGrade 起始成绩
     * @param endGrade 结束成绩
     * @return 学生集合
     */
    public List<StudentBean> findByItem(@Param("name") String name,
            @Param("startGrade")Integer startGrade,@Param("endGrade") Integer endGrade);

    /**
     * 添加学生
     * @param student 学生对象
     */
    @Insert("INSERT INTO t_student(s_name,s_phone,s_email,s_grade,s_face,fk_classId) " +
            "VALUES(#{name},#{phone},#{email},#{grade},#{face},#{classBean.id})")
    public void add(StudentBean student);

    /**
     * 按ID删除学生
     * @param id 学生ID
     */
    @Delete("delete from t_student where pk_studentId=#{id}")
    public void del(int id);

    /**
     * 按学生ID修改电话
     * @param id 学生ID
     * @param phone 电话
     * @param classId 班级ID
     */
    @Update("update t_student set s_phone=#{phone},fk_classId=#{classId} where pk_studentId=#{id}")
    public void update(@Param("id") int id ,
       @Param("phone") String phone,@Param("classId") int classId);

    /**
     * 按学生ID查询学生
     * @param id 学生ID
     * @return 学生对象
     */
    @Select("select s.*,c.c_name from t_student s,t_class c where s.fk_classId=c.pk_classId and pk_studentId=#{id}")
    @ResultMap("studentMap")
    public StudentBean findById(int id);
}
